ostbuild: Ensure private libraries are in runtime, and kill .la files
authorColin Walters <walters@verbum.org>
Tue, 20 Dec 2011 23:42:27 +0000 (18:42 -0500)
committerColin Walters <walters@verbum.org>
Tue, 20 Dec 2011 23:42:27 +0000 (18:42 -0500)
A regular libfoo.so not in one of the regular directories should go in
runtime.  (Probably we should double check it's a regular file too).

Also, delete .la files unconditionally.

src/ostbuild/ostbuild-compile-one-impl

index 1a8ac5400e27ebd963091ac0af1f96c02a48c5e3..1b46810fa096998bef360d82e346ecceea6d92d1 100755 (executable)
@@ -26,11 +26,16 @@ import select,time
 
 tempfiles = []
 
+_blacklist_regexps = map(re.compile, 
+                         [r'.*\.la$',
+                          ])
+
 _devel_regexps = map(re.compile,
                      [r'/usr/include/',
                       r'/usr/share/pkgconfig/',
-                      r'/.*lib(?:|(?:32)|(?:64))/pkgconfig/.*\.pc',
-                      r'/.*lib(?:|(?:32)|(?:64))/.*\.so$'])
+                      r'/(?:usr/)lib(?:|(?:32)|(?:64))/pkgconfig/.*\.pc$',
+                      r'/(?:usr/)lib(?:|(?:32)|(?:64))/[^/]+\.so$'
+                      ])
 
 root = None
 
@@ -289,6 +294,16 @@ def phase_make_artifacts(builddir=None):
     for root, dirs, files in os.walk('.'):
         for filename in files:
             path = os.path.join(root, filename)
+
+            blacklisted = False
+            for r in _blacklist_regexps:
+                if r.match(path):
+                    blacklisted = True
+                    break
+
+            if blacklisted:
+                continue
+
             matched = False
             for r in _devel_regexps:
                 if not r.match(path[1:]):